YAHOO.namespace("example.calendar"); 
	 
YAHOO.example.calendar.init = function() {
    YAHOO.example.calendar.cal1 = new YAHOO.widget.Calendar("cal1","alertDayCal"); 
    YAHOO.example.calendar.cal1.render(); 
};

var common = {
//    setAlert: function()
//    {
//        $('#alertFormBox').dialog({
//            title: "Ustaw przypomnienie",
//            height: 350,
//            width: 400,
//            modal: true,
//            resizable: false,
//            open: function( event, ui ) {
//                $('#alertFormBox').dialog( "option", "height", 400 );
//                $('#alertFormBox').find('p#msgOkAlert').remove();
//                $('#alertForm').show();
//                $('#alertSaveButton').hide();
//                $('#alertSaveButton_old').show();
//                YAHOO.example.calendar.init();
//                YAHOO.example.calendar.cal1.selectEvent.subscribe(common.handleSelect, YAHOO.example.calendar.call, true);
//               $('#alertForm').unbind('submit');
//               
//               $('#alertForm').submit(function() {
//                    if (!common.isDate($('#alertDay').val())) {
//                        $('#dateMsg').html('Podana data jest błędna!');
//                        return false;
//                    } else {
//                        $('#dateMsg').html('');
//                    }
//
//                    $.ajax({
//                        url:"index.php?module=Accounts&action=saveAlert&to_pdf=true",
//                        type: 'post',
//                        dataType: 'json',
//                        data: {
//                            date: $('#alertDay').val(), 
//                            record: $('#formDetailView').find('[name="record"]').val(),
//                            moduleName: $('#formDetailView').find('[name="module"]').val()
//                        },
//                        success: function(data){
//                            $('#alertForm').hide();
//                            $('#alertFormBox').append('<p id="msgOkAlert">Przypomnienie zostało dodane<p>');
//                            $('#alertFormBox').dialog( "option", "height", 200 );
//                            $('#alertDate').html(data.date);
//                        }
//                    });
//                    return false;
//                });
//
//            },
//            buttons: {
//                Zamknij: function() {
//                    $( this ).dialog( "close" );
//                }
//            }
//        });
//        
//    },
    
    getAlertForm: function()
    {
        $('#alertContainer').remove();
        $.ajax({
            url:"index.php?module=Accounts&action=getAlertForm&to_pdf=true",
            type: 'post',
            dataType: 'json',
            success: function(data){
                common.$alertBox = $('<div id="alertContainer"></div>').dialog({
                    title: "Ustaw przypomnienie",
                    height: 350,
                    width: 400,
                    modal: true,
                    resizable: false,
                    autoOpen: false,
                    open: function() {
                        YAHOO.example.calendar.init();
                        YAHOO.example.calendar.cal1.selectEvent.subscribe(common.handleSelect, YAHOO.example.calendar.call, true);
                        
                        $('#alertForm').submit(function() {
                            if (!common.isDate($('#alertDay').val())) {
                                $('#dateMsg').html('Podana data jest błędna!');
                                return false;
                            } else {
                                $('#dateMsg').html('');
                            }

                            $.ajax({
                                url:"index.php?module=Accounts&action=saveAlert&to_pdf=true",
                                type: 'post',
                                dataType: 'json',
                                data: {
                                    date: $('#alertDay').val(), 
                                    record: $('#formDetailView').find('[name="record"]').val(),
                                    moduleName: $('#formDetailView').find('[name="module"]').val()
                                },
                                success: function(data){
                                    $('#alertForm').hide();
                                    common.$alertBox.append('<p id="msgOkAlert">Przypomnienie zostało dodane<p>');
                                    common.$alertBox.dialog( "option", "height", 200 );
                                    $('#alertDate').html(data.date);
                                }
                            });
                            return false;
                        });
                    },
                    buttons: {
                        Zamknij: function() {
                            $( this ).dialog( "close" );
                        }
                    }
                });
                common.$alertBox.html(data.view);
                common.$alertBox.dialog('open');
                return false;
            }
        });
    },
    
    handleSelect:function(type,args,obj) 
    {
        var dates = args[0];
        var date = dates[0];
        var year = date[0], month = date[1], day = date[2];

        var txtDate1 = document.getElementById("alertDay");
        if (month < 10) {
            month = "0" + month;
        }
        if (day < 10) {
            day = "0" + day;
        }
        txtDate1.value = year + "-" + month + "-" + day ;
    },
    
    isDate: function(value)
    {
        var parts = value.toString().split('-');
        var valid = true;
        
        if(parts.length != 3) {
            valid = false;
        } else {
            var year = parseInt(parts[0], 10);
            var month = parseInt(parts[1], 10);
            var day = parseInt(parts[2], 10);
            
            if(parts[0].length != 4 || month > 12) {
                valid = false;
            } else {
                try {
                    valid = Date.validateYear(year) && month >= 1 && month <= 12 && Date.validateDay(day, year, month-1);
                    valid = valid && day > 0;
                }catch(e) {
                    valid = false;
                }
            }
        }
        
        return valid;
    }
    
}

$(document).ready(function() {
    
});